The present invention relates to transaction processing systems. More specifically, the invention provides a system capable of controlling both real-time transactions and non-real-time transactions handled by a transaction processing system.
Various types of systems are available for processing transactions. Call processing systems, such as automatic call distributors (ACDs), are available for processing incoming and outgoing telephone calls. A telephone call is an example of a real-time transaction. For example, a customer may initiate a telephone call to a company""s call processing system. The call processing system receives the incoming call and processes the call in various manners. The call may be routed to a telephone agent (e.g., a customer service agent) to answer the call and assist the customer. If all agents are busy, the call processing system may provide a recorded message to the customer explaining that all agents are busy, and place the call in a queue. Other call processing systems may provide an option to leave a message or listen to prerecorded answers to frequently asked questions.
Other types of transaction processing systems are able to handle electronic mail (e-mail) messages. An e-mail is an example of a non-real-time transaction. For example, a customer can e-mail a question or a request to a company""s general e-mail address or a specific e-mail address associated with a particular department, product, or service. The e-mail is stored by the transaction processing system if an agent is not available to respond to the e-mail when received. Since e-mail messages do not generally require an immediate response (as with telephone calls), they are easily stored and answered at a later time. Responses to stored e-mail messages may be generated in the order the e-mail messages were received. E-mail responses may be generated any time an agent is available, regardless of the time of day or the day of the week. Thus, although a majority of e-mail messages may be received during regular business hours, responses can be generated at any time.
Known transaction processing systems typically assign each agent to handle a single type of transaction, such as incoming telephone calls. Since telephone call processing systems generally attempt to answer received telephone calls within a relatively short period of time (e.g., within a few minutes), an adequate number of telephone agents must be assigned to handle the volume of incoming calls. The number and rate of incoming telephone calls at a particular time may vary significantly. Therefore, the call processing systems must have enough agents available to handle, within a reasonable period of time, all incoming telephone calls. If the call processing system is staffed with enough agents to adequately handle peak call volumes, then the system may be overstaffed during non-peak times. Thus, certain agents may be idle for significant periods of time if the incoming call volume is below peak levels. Idle agents are expensive and reduce the overall efficiency of the call processing system.
Existing systems are able to change the status of an agent (e.g., from handling incoming telephone calls to handling outgoing telephone calls, or from handling incoming telephone calls to answering e-mail). In these systems, an agent is typically logged out of one transaction processing system and logged into a different system. For example, an agent may be logged out of a call processing system and logged into an e-mail processing system. These existing systems handle the changing of agent assignments by manually instructing one or more agents to log out of one system and log into another system. This manual instruction is typically provided by a supervisor or other individual responsible for monitoring the assignment of agents. For example, if a supervisor notices that several agents have been idle for a significant period of time, the supervisor may instruct several agents to stop handling incoming telephone calls and begin responding to received e-mails or facsimiles. Therefore, these existing systems require a supervisor or other individual to manually instruct agents to change from handling one type of transaction to another.
It is therefore desirable to provide an automated system that is capable of controlling both real-time transactions and non-real-time transactions, and capable of providing the highest priority transaction to an available agent.
The present the invention is related to a system capable of controlling both real-time transactions and non-real-time transactions. Embodiments of the invention provide a transaction controller that allows a particular agent to handle multiple types of transactions through a centralized control system. Thus, when an agent is available to receive a transaction, the highest priority transaction, of any type, is provided to the agent.
A particular embodiment of the invention provides a system for processing transactions. The system receives a transaction, which may be a real-time transaction or a non-real-time transaction. The received transaction is processed by a transaction controller, which is capable of processing both real-time and non-real-time transactions.
Other embodiments of the invention assign a priority to the received transaction, such that real-time transactions are assigned a higher priority than non-real-time transactions.
An embodiment of the invention associates a Quality of Service (QOS) with the received transaction.
Another embodiment of the invention queues the received transaction in a transaction queue if no agents are available to process the received transaction. A highest priority transaction is removed from the queue when an agent becomes available to process a new transaction.